“Web services” is a generic term that describes a way of integrating Web-based applications using open standards, such as XML (extensible Markup Language), SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language) and UDDI (Universal Description, Discovery and Integration). XML is used to tag (i.e., define) data sent between applications, SOAP is used to transfer the data, WSDL is used to describe available services, and UDDI is used to list the available services.
Web services can be distributed over various computer networks and typically, although not necessarily, involves communication over the Internet. Users can access Web service hosts through a peer-to-peer arrangement rather than through a central server. Some Web service hosts have the ability to communicate with other Web service hosts directly, i.e., without user intervention. A class of software known as middleware supports this functionality. For example, as shown in FIG. 1, a user at client 10 may request data or other services from service host 11. Service host 11 may, in turn, call a second service host 12 in order to satisfy the request. Likewise, service host 12 may call a third service host 14 in order to satisfy the request of service host 11, and so on. The user, however, is generally unaware that service host 11 relies on other service host(s) to satisfy the initial request.
The foregoing arrangement can be problematic, particularly if one of the other service host(s) is having problems. More specifically, because the other service host(s) are “transparent” to client 10, there is no way, from client 10, to identify those other service host(s) or to diagnose any problems associated therewith.